package com.ruoyi.system.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.system.entity.ContractFile;

import java.util.List;

/**
 * 合同文件关联表 服务接口
 */
public interface ContractFileService extends IService<ContractFile> {

    /**
     * 批量保存合同文件
     *
     * @param contractFiles 文件列表
     */
    void saveBatch(List<ContractFile> contractFiles);

    /**
     * 根据合同ID查询文件列表
     * @param contractId 合同ID
     * @return 文件列表
     */
    List<ContractFile> getByContractId(Long contractId);

    /**
     * 根据合同ID和业务类型查询文件列表
     * @param contractId 合同ID
     * @param businessType 业务类型：1-合同图片，2-合同附件
     * @return 文件列表
     */
    List<ContractFile> getByContractIdAndType(Long contractId, Integer businessType);

    /**
     * 根据合同Id删除关联文件
     */
    void removeByContractId(Long contractId);

    /**
     * 根据文件ID删除文件
     * @return 是否删除成功
     */
    boolean removeByFileId(Long fileId);
}